In general, with multiple integrated data stores, data can get out of sync and/or corrupted in some locations. Although any one given data store may be able to maintain its own state, it is critical that the various stores stay in sync with each other. When one store becomes corrupt, valid data from other stores can be used to address the corruption. In a client-server scenario, it would be simple to completely restore the data on the client from the server, but this is expensive in both processing and network resource utilization.